Skip to content

TCP 和 UDP 区别是什么

传输层的两个协议

TCP: 有链接、可靠,缓慢的,双向的保证交付保证消息顺序的,基于字节流传输控制协议 Transfer Control Protocol UDP: 无连接(不需要三次握手) 不可靠,没序列,但快速的。头部开销小,可一对多,直播, User Data protocal 用户数据报

链接

TCP 三次握手有连接 UDP: 无连接

可靠

TCP: 可靠,丢失会重发 UDP: 不可靠,不提供任何交付保证

有序

TCP: 有序 UDP:不保证顺序

速度

TCP 慢 UDP 快速

头大小

TCP 头大 20 字节 序列号、ACK 号 数据偏移量、控制位、窗口、紧急指针、源端口、目标端口 UDP 头小 8 字节 源端口、目标端口、校验和、长度

拥塞或流控制

TCP 有流量控制,窗口大小 UDP 不能进行流量控制

端口号为什么最大 65536

源端口号一共是 16 位,所以 2^16-1 = 65535

UDP 应用

DNS DHCP

TCP 信号位

ACK 确认 PSH 发送 RST 重发 SYN 序号 FIN 断开 URG 紧急

TCP 问题

  • tpc 顺序问题造成的对头阻塞
  • 慢启动
  • time-wait 占用端口

在 MIT 许可下发布